Refactoring to move code to right locations. Attempt at breaking dependency cycles.
diff --git a/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java b/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java
index 125745b..b9c6ae8 100644
--- a/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java
+++ b/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java
@@ -14,25 +14,25 @@
import org.onlab.onos.cluster.ClusterEvent;
import org.onlab.onos.cluster.ClusterEventListener;
import org.onlab.onos.cluster.ClusterService;
-import org.onlab.onos.cluster.MastershipAdminService;
-import org.onlab.onos.cluster.MastershipEvent;
-import org.onlab.onos.cluster.MastershipListener;
-import org.onlab.onos.cluster.MastershipService;
-import org.onlab.onos.cluster.MastershipStore;
-import org.onlab.onos.cluster.MastershipStoreDelegate;
-import org.onlab.onos.cluster.MastershipTerm;
-import org.onlab.onos.cluster.MastershipTermService;
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.event.AbstractListenerRegistry;
import org.onlab.onos.event.EventDeliveryService;
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.MastershipRole;
+import org.onlab.onos.net.device.DeviceMastershipAdminService;
+import org.onlab.onos.net.device.DeviceMastershipEvent;
+import org.onlab.onos.net.device.DeviceMastershipListener;
+import org.onlab.onos.net.device.DeviceMastershipService;
+import org.onlab.onos.net.device.DeviceMastershipStore;
+import org.onlab.onos.net.device.DeviceMastershipStoreDelegate;
+import org.onlab.onos.net.device.DeviceMastershipTerm;
+import org.onlab.onos.net.device.DeviceMastershipTermService;
import org.slf4j.Logger;
@Component(immediate = true)
@Service
public class MastershipManager
-implements MastershipService, MastershipAdminService {
+implements DeviceMastershipService, DeviceMastershipAdminService {
private static final String NODE_ID_NULL = "Node ID cannot be null";
private static final String DEVICE_ID_NULL = "Device ID cannot be null";
@@ -40,13 +40,13 @@
private final Logger log = getLogger(getClass());
- protected final AbstractListenerRegistry<MastershipEvent, MastershipListener>
+ protected final AbstractListenerRegistry<DeviceMastershipEvent, DeviceMastershipListener>
listenerRegistry = new AbstractListenerRegistry<>();
- private final MastershipStoreDelegate delegate = new InternalDelegate();
+ private final DeviceMastershipStoreDelegate delegate = new InternalDelegate();
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected MastershipStore store;
+ protected DeviceMastershipStore store;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected EventDeliveryService eventDispatcher;
@@ -58,7 +58,7 @@
@Activate
public void activate() {
- eventDispatcher.addSink(MastershipEvent.class, listenerRegistry);
+ eventDispatcher.addSink(DeviceMastershipEvent.class, listenerRegistry);
clusterService.addListener(clusterListener);
store.setDelegate(delegate);
log.info("Started");
@@ -66,7 +66,7 @@
@Deactivate
public void deactivate() {
- eventDispatcher.removeSink(MastershipEvent.class);
+ eventDispatcher.removeSink(DeviceMastershipEvent.class);
clusterService.removeListener(clusterListener);
store.unsetDelegate(delegate);
log.info("Stopped");
@@ -78,7 +78,7 @@
checkNotNull(deviceId, DEVICE_ID_NULL);
checkNotNull(role, ROLE_NULL);
- MastershipEvent event = null;
+ DeviceMastershipEvent event = null;
if (role.equals(MastershipRole.MASTER)) {
event = store.setMaster(nodeId, deviceId);
} else {
@@ -98,7 +98,7 @@
@Override
public void relinquishMastership(DeviceId deviceId) {
- MastershipEvent event = null;
+ DeviceMastershipEvent event = null;
event = store.relinquishRole(
clusterService.getLocalNode().id(), deviceId);
@@ -127,18 +127,18 @@
@Override
- public MastershipTermService requestTermService() {
+ public DeviceMastershipTermService requestTermService() {
return new InternalMastershipTermService();
}
@Override
- public void addListener(MastershipListener listener) {
+ public void addListener(DeviceMastershipListener listener) {
checkNotNull(listener);
listenerRegistry.addListener(listener);
}
@Override
- public void removeListener(MastershipListener listener) {
+ public void removeListener(DeviceMastershipListener listener) {
checkNotNull(listener);
listenerRegistry.removeListener(listener);
}
@@ -146,16 +146,16 @@
// FIXME: provide wiring to allow events to be triggered by changes within the store
// Posts the specified event to the local event dispatcher.
- private void post(MastershipEvent event) {
+ private void post(DeviceMastershipEvent event) {
if (event != null && eventDispatcher != null) {
eventDispatcher.post(event);
}
}
- private class InternalMastershipTermService implements MastershipTermService {
+ private class InternalMastershipTermService implements DeviceMastershipTermService {
@Override
- public MastershipTerm getMastershipTerm(DeviceId deviceId) {
+ public DeviceMastershipTerm getMastershipTerm(DeviceId deviceId) {
return store.getTermFor(deviceId);
}
@@ -181,10 +181,10 @@
}
- public class InternalDelegate implements MastershipStoreDelegate {
+ public class InternalDelegate implements DeviceMastershipStoreDelegate {
@Override
- public void notify(MastershipEvent event) {
+ public void notify(DeviceMastershipEvent event) {
log.info("dispatching mastership event {}", event);
eventDispatcher.post(event);
}
diff --git a/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java b/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
index 8cde5a3..d4b8889 100644
--- a/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
+++ b/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
@@ -13,11 +13,6 @@
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.apache.felix.scr.annotations.Service;
import org.onlab.onos.cluster.ClusterService;
-import org.onlab.onos.cluster.MastershipEvent;
-import org.onlab.onos.cluster.MastershipListener;
-import org.onlab.onos.cluster.MastershipService;
-import org.onlab.onos.cluster.MastershipTermService;
-import org.onlab.onos.cluster.MastershipTerm;
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.event.AbstractListenerRegistry;
import org.onlab.onos.event.EventDeliveryService;
@@ -36,6 +31,11 @@
import org.onlab.onos.net.device.DeviceService;
import org.onlab.onos.net.device.DeviceStore;
import org.onlab.onos.net.device.DeviceStoreDelegate;
+import org.onlab.onos.net.device.DeviceMastershipEvent;
+import org.onlab.onos.net.device.DeviceMastershipListener;
+import org.onlab.onos.net.device.DeviceMastershipService;
+import org.onlab.onos.net.device.DeviceMastershipTerm;
+import org.onlab.onos.net.device.DeviceMastershipTermService;
import org.onlab.onos.net.device.PortDescription;
import org.onlab.onos.net.provider.AbstractProviderRegistry;
import org.onlab.onos.net.provider.AbstractProviderService;
@@ -64,7 +64,7 @@
private final DeviceStoreDelegate delegate = new InternalStoreDelegate();
- private final MastershipListener mastershipListener = new InternalMastershipListener();
+ private final DeviceMastershipListener mastershipListener = new InternalMastershipListener();
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected DeviceStore store;
@@ -76,9 +76,9 @@
protected ClusterService clusterService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected MastershipService mastershipService;
+ protected DeviceMastershipService mastershipService;
- protected MastershipTermService termService;
+ protected DeviceMastershipTermService termService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected ClockProviderService clockProviderService;
@@ -209,7 +209,7 @@
return;
}
- MastershipTerm term = mastershipService.requestTermService()
+ DeviceMastershipTerm term = mastershipService.requestTermService()
.getMastershipTerm(deviceId);
if (!term.master().equals(clusterService.getLocalNode().id())) {
// lost mastership after requestRole told this instance was MASTER.
@@ -320,16 +320,16 @@
}
// Intercepts mastership events
- private class InternalMastershipListener implements MastershipListener {
+ private class InternalMastershipListener implements DeviceMastershipListener {
@Override
- public void event(MastershipEvent event) {
+ public void event(DeviceMastershipEvent event) {
final DeviceId did = event.subject();
if (isAvailable(did)) {
final NodeId myNodeId = clusterService.getLocalNode().id();
if (myNodeId.equals(event.master())) {
- MastershipTerm term = termService.getMastershipTerm(did);
+ DeviceMastershipTerm term = termService.getMastershipTerm(did);
if (term.master().equals(myNodeId)) {
// only set the new term if I am the master
diff --git a/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java b/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java
index 29b4ddf..84ca891 100644
--- a/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java
@@ -10,11 +10,11 @@
import org.onlab.onos.cluster.ControllerNode;
import org.onlab.onos.cluster.ControllerNode.State;
import org.onlab.onos.cluster.DefaultControllerNode;
-import org.onlab.onos.cluster.MastershipService;
-import org.onlab.onos.cluster.MastershipTermService;
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.event.impl.TestEventDispatcher;
import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.device.DeviceMastershipService;
+import org.onlab.onos.net.device.DeviceMastershipTermService;
import org.onlab.onos.store.trivial.impl.SimpleMastershipStore;
import org.onlab.packet.IpPrefix;
@@ -34,7 +34,7 @@
private static final DeviceId DEV_OTHER = DeviceId.deviceId("of:2");
private MastershipManager mgr;
- protected MastershipService service;
+ protected DeviceMastershipService service;
@Before
public void setUp() {
@@ -120,7 +120,7 @@
@Test
public void termService() {
- MastershipTermService ts = mgr.requestTermService();
+ DeviceMastershipTermService ts = mgr.requestTermService();
//term = 0 for both
mgr.setRole(NID_LOCAL, DEV_MASTER, MASTER);
diff --git a/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java b/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java
index e833b4a..bc4e353 100644
--- a/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java
@@ -11,8 +11,6 @@
import org.onlab.onos.cluster.ControllerNode;
import org.onlab.onos.cluster.DefaultControllerNode;
import org.onlab.onos.cluster.MastershipServiceAdapter;
-import org.onlab.onos.cluster.MastershipTerm;
-import org.onlab.onos.cluster.MastershipTermService;
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.cluster.ControllerNode.State;
import org.onlab.onos.event.Event;
@@ -32,6 +30,8 @@
import org.onlab.onos.net.device.DeviceProviderRegistry;
import org.onlab.onos.net.device.DeviceProviderService;
import org.onlab.onos.net.device.DeviceService;
+import org.onlab.onos.net.device.DeviceMastershipTerm;
+import org.onlab.onos.net.device.DeviceMastershipTermService;
import org.onlab.onos.net.device.PortDescription;
import org.onlab.onos.net.provider.AbstractProvider;
import org.onlab.onos.net.provider.ProviderId;
@@ -290,12 +290,12 @@
}
@Override
- public MastershipTermService requestTermService() {
- return new MastershipTermService() {
+ public DeviceMastershipTermService requestTermService() {
+ return new DeviceMastershipTermService() {
@Override
- public MastershipTerm getMastershipTerm(DeviceId deviceId) {
+ public DeviceMastershipTerm getMastershipTerm(DeviceId deviceId) {
// FIXME: just returning something not null
- return MastershipTerm.of(NID_LOCAL, 1);
+ return DeviceMastershipTerm.of(NID_LOCAL, 1);
}
};
}
@@ -339,7 +339,7 @@
ClockProviderService {
@Override
- public void setMastershipTerm(DeviceId deviceId, MastershipTerm term) {
+ public void setMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
// TODO Auto-generated method stub
}
}