Refactored code in an attempt to break 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 b9c6ae8..7637478 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
@@ -18,10 +18,10 @@
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.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceMastershipService;
import org.onlab.onos.net.device.DeviceMastershipStore;
import org.onlab.onos.net.device.DeviceMastershipStoreDelegate;
@@ -73,13 +73,13 @@
}
@Override
- public void setRole(NodeId nodeId, DeviceId deviceId, MastershipRole role) {
+ public void setRole(NodeId nodeId, DeviceId deviceId, DeviceMastershipRole role) {
checkNotNull(nodeId, NODE_ID_NULL);
checkNotNull(deviceId, DEVICE_ID_NULL);
checkNotNull(role, ROLE_NULL);
DeviceMastershipEvent event = null;
- if (role.equals(MastershipRole.MASTER)) {
+ if (role.equals(DeviceMastershipRole.MASTER)) {
event = store.setMaster(nodeId, deviceId);
} else {
event = store.setStandby(nodeId, deviceId);
@@ -91,7 +91,7 @@
}
@Override
- public MastershipRole getLocalRole(DeviceId deviceId) {
+ public DeviceMastershipRole getLocalRole(DeviceId deviceId) {
checkNotNull(deviceId, DEVICE_ID_NULL);
return store.getRole(clusterService.getLocalNode().id(), deviceId);
}
@@ -108,7 +108,7 @@
}
@Override
- public MastershipRole requestRoleFor(DeviceId deviceId) {
+ public DeviceMastershipRole requestRoleFor(DeviceId deviceId) {
checkNotNull(deviceId, DEVICE_ID_NULL);
return store.requestRole(deviceId);
}
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 d4b8889..741ebf3 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
@@ -18,13 +18,14 @@
import org.onlab.onos.event.EventDeliveryService;
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DeviceAdminService;
+import org.onlab.onos.net.device.DeviceClockProviderService;
import org.onlab.onos.net.device.DeviceDescription;
import org.onlab.onos.net.device.DeviceEvent;
import org.onlab.onos.net.device.DeviceListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceProvider;
import org.onlab.onos.net.device.DeviceProviderRegistry;
import org.onlab.onos.net.device.DeviceProviderService;
@@ -39,7 +40,6 @@
import org.onlab.onos.net.device.PortDescription;
import org.onlab.onos.net.provider.AbstractProviderRegistry;
import org.onlab.onos.net.provider.AbstractProviderService;
-import org.onlab.onos.store.ClockProviderService;
import org.slf4j.Logger;
/**
@@ -81,7 +81,7 @@
protected DeviceMastershipTermService termService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected ClockProviderService clockProviderService;
+ protected DeviceClockProviderService clockProviderService;
@Activate
public void activate() {
@@ -117,7 +117,7 @@
}
@Override
- public MastershipRole getRole(DeviceId deviceId) {
+ public DeviceMastershipRole getRole(DeviceId deviceId) {
checkNotNull(deviceId, DEVICE_ID_NULL);
return mastershipService.getLocalRole(deviceId);
}
@@ -142,8 +142,8 @@
}
// Applies the specified role to the device; ignores NONE
- private void applyRole(DeviceId deviceId, MastershipRole newRole) {
- if (newRole.equals(MastershipRole.NONE)) {
+ private void applyRole(DeviceId deviceId, DeviceMastershipRole newRole) {
+ if (newRole.equals(DeviceMastershipRole.NONE)) {
Device device = store.getDevice(deviceId);
// FIXME: Device might not be there yet. (eventual consistent)
if (device == null) {
@@ -201,9 +201,9 @@
log.info("Device {} connected", deviceId);
// check my Role
- MastershipRole role = mastershipService.requestRoleFor(deviceId);
+ DeviceMastershipRole role = mastershipService.requestRoleFor(deviceId);
- if (role != MastershipRole.MASTER) {
+ if (role != DeviceMastershipRole.MASTER) {
// TODO: Do we need to explicitly tell the Provider that
// this instance is no longer the MASTER? probably not
return;
@@ -216,7 +216,7 @@
return;
}
// tell clock provider if this instance is the master
- clockProviderService.setMastershipTerm(deviceId, term);
+ clockProviderService.setDeviceMastershipTerm(deviceId, term);
DeviceEvent event = store.createOrUpdateDevice(provider().id(),
deviceId, deviceDescription);
@@ -255,7 +255,7 @@
// but if I was the last STANDBY connection, etc. and no one else
// was there to mark the device offline, this instance may need to
// temporarily request for Master Role and mark offline.
- if (!mastershipService.getLocalRole(deviceId).equals(MastershipRole.MASTER)) {
+ if (!mastershipService.getLocalRole(deviceId).equals(DeviceMastershipRole.MASTER)) {
log.debug("Device {} disconnected, but I am not the master", deviceId);
//let go of any role anyways
mastershipService.relinquishMastership(deviceId);
@@ -302,11 +302,11 @@
}
@Override
- public void unableToAssertRole(DeviceId deviceId, MastershipRole role) {
+ public void unableToAssertRole(DeviceId deviceId, DeviceMastershipRole role) {
// FIXME: implement response to this notification
log.warn("Failed to assert role [{}] onto Device {}", role,
deviceId);
- if (role == MastershipRole.MASTER) {
+ if (role == DeviceMastershipRole.MASTER) {
mastershipService.relinquishMastership(deviceId);
}
}
@@ -333,16 +333,16 @@
if (term.master().equals(myNodeId)) {
// only set the new term if I am the master
- clockProviderService.setMastershipTerm(did, term);
+ clockProviderService.setDeviceMastershipTerm(did, term);
}
- applyRole(did, MastershipRole.MASTER);
+ applyRole(did, DeviceMastershipRole.MASTER);
} else {
- applyRole(did, MastershipRole.STANDBY);
+ applyRole(did, DeviceMastershipRole.STANDBY);
}
} else {
//device dead to node, give up
mastershipService.relinquishMastership(did);
- applyRole(did, MastershipRole.STANDBY);
+ applyRole(did, DeviceMastershipRole.STANDBY);
}
}
}
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 84ca891..d4cabba 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
@@ -20,7 +20,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.onlab.onos.net.MastershipRole.*;
+import static org.onlab.onos.net.device.DeviceMastershipRole.*;
/**
* Test codifying the mastership service contracts.
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 bc4e353..0dc77e1 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
@@ -17,15 +17,16 @@
import org.onlab.onos.event.impl.TestEventDispatcher;
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DefaultDeviceDescription;
import org.onlab.onos.net.device.DefaultPortDescription;
import org.onlab.onos.net.device.DeviceAdminService;
+import org.onlab.onos.net.device.DeviceClockProviderService;
import org.onlab.onos.net.device.DeviceDescription;
import org.onlab.onos.net.device.DeviceEvent;
import org.onlab.onos.net.device.DeviceListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceProvider;
import org.onlab.onos.net.device.DeviceProviderRegistry;
import org.onlab.onos.net.device.DeviceProviderService;
@@ -35,7 +36,6 @@
import org.onlab.onos.net.device.PortDescription;
import org.onlab.onos.net.provider.AbstractProvider;
import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.ClockProviderService;
import org.onlab.onos.store.trivial.impl.SimpleDeviceStore;
import org.onlab.packet.IpPrefix;
@@ -161,7 +161,7 @@
@Test
public void getRole() {
connectDevice(DID1, SW1);
- assertEquals("incorrect role", MastershipRole.MASTER, service.getRole(DID1));
+ assertEquals("incorrect role", DeviceMastershipRole.MASTER, service.getRole(DID1));
}
@Ignore("disabled until we settle the device-mastership wiring")
@@ -169,9 +169,9 @@
public void setRole() throws InterruptedException {
connectDevice(DID1, SW1);
validateEvents(DEVICE_ADDED, DEVICE_MASTERSHIP_CHANGED);
- assertEquals("incorrect role", MastershipRole.STANDBY, service.getRole(DID1));
+ assertEquals("incorrect role", DeviceMastershipRole.STANDBY, service.getRole(DID1));
assertEquals("incorrect device", DID1, provider.deviceReceived.id());
- assertEquals("incorrect role", MastershipRole.STANDBY, provider.roleReceived);
+ assertEquals("incorrect role", DeviceMastershipRole.STANDBY, provider.roleReceived);
}
@Test
@@ -246,7 +246,7 @@
private class TestProvider extends AbstractProvider implements DeviceProvider {
private Device deviceReceived;
- private MastershipRole roleReceived;
+ private DeviceMastershipRole roleReceived;
public TestProvider() {
super(PID);
@@ -257,7 +257,7 @@
}
@Override
- public void roleChanged(Device device, MastershipRole newRole) {
+ public void roleChanged(Device device, DeviceMastershipRole newRole) {
deviceReceived = device;
roleReceived = newRole;
}
@@ -275,8 +275,8 @@
private static class TestMastershipService
extends MastershipServiceAdapter {
@Override
- public MastershipRole getLocalRole(DeviceId deviceId) {
- return MastershipRole.MASTER;
+ public DeviceMastershipRole getLocalRole(DeviceId deviceId) {
+ return DeviceMastershipRole.MASTER;
}
@Override
@@ -285,8 +285,8 @@
}
@Override
- public MastershipRole requestRoleFor(DeviceId deviceId) {
- return MastershipRole.MASTER;
+ public DeviceMastershipRole requestRoleFor(DeviceId deviceId) {
+ return DeviceMastershipRole.MASTER;
}
@Override
@@ -336,10 +336,10 @@
}
private final class TestClockProviderService implements
- ClockProviderService {
+ DeviceClockProviderService {
@Override
- public void setMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
+ public void setDeviceMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
// TODO Auto-generated method stub
}
}
diff --git a/core/net/src/test/java/org/onlab/onos/net/flow/impl/FlowRuleManagerTest.java b/core/net/src/test/java/org/onlab/onos/net/flow/impl/FlowRuleManagerTest.java
index fb579ea..d8b3160 100644
--- a/core/net/src/test/java/org/onlab/onos/net/flow/impl/FlowRuleManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/flow/impl/FlowRuleManagerTest.java
@@ -24,10 +24,10 @@
import org.onlab.onos.net.Device;
import org.onlab.onos.net.Device.Type;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DeviceListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceService;
import org.onlab.onos.net.flow.CompletedBatchOperation;
import org.onlab.onos.net.flow.DefaultFlowEntry;
@@ -364,7 +364,7 @@
}
@Override
- public MastershipRole getRole(DeviceId deviceId) {
+ public DeviceMastershipRole getRole(DeviceId deviceId) {
return null;
}
diff --git a/core/net/src/test/java/org/onlab/onos/net/host/impl/HostMonitorTest.java b/core/net/src/test/java/org/onlab/onos/net/host/impl/HostMonitorTest.java
index d8ddfbe..7191a8f 100644
--- a/core/net/src/test/java/org/onlab/onos/net/host/impl/HostMonitorTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/host/impl/HostMonitorTest.java
@@ -19,10 +19,10 @@
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.Host;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DeviceListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceService;
import org.onlab.onos.net.flow.instructions.Instruction;
import org.onlab.onos.net.flow.instructions.Instructions.OutputInstruction;
@@ -189,7 +189,7 @@
}
@Override
- public MastershipRole getRole(DeviceId deviceId) {
+ public DeviceMastershipRole getRole(DeviceId deviceId) {
return null;
}
diff --git a/core/net/src/test/java/org/onlab/onos/net/link/impl/LinkManagerTest.java b/core/net/src/test/java/org/onlab/onos/net/link/impl/LinkManagerTest.java
index 1d52ba3..927278a 100644
--- a/core/net/src/test/java/org/onlab/onos/net/link/impl/LinkManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/link/impl/LinkManagerTest.java
@@ -1,6 +1,7 @@
package org.onlab.onos.net.link.impl;
import com.google.common.collect.ImmutableSet;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -9,7 +10,6 @@
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.Link;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.link.DefaultLinkDescription;
import org.onlab.onos.net.link.LinkAdminService;
@@ -22,6 +22,7 @@
import org.onlab.onos.net.provider.AbstractProvider;
import org.onlab.onos.net.provider.ProviderId;
import org.onlab.onos.event.impl.TestEventDispatcher;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.impl.DeviceManager;
import org.onlab.onos.store.trivial.impl.SimpleLinkStore;
@@ -243,7 +244,7 @@
private class TestProvider extends AbstractProvider implements LinkProvider {
private Device deviceReceived;
- private MastershipRole roleReceived;
+ private DeviceMastershipRole roleReceived;
public TestProvider() {
super(PID);