Yuta HIGUCHI
Committed by Yuta Higuchi

Flatten MastershipTermService

Change-Id: Ic75b7376f7436c76f69127d6137577ec2fc09d2b
......@@ -83,14 +83,6 @@ public interface MastershipService {
Set<DeviceId> getDevicesOf(NodeId nodeId);
/**
* Returns the mastership term service for getting read-only
* term information.
*
* @return the MastershipTermService for this mastership manager
*/
MastershipTermService requestTermService();
/**
* Adds the specified mastership change listener.
*
* @param listener the mastership listener
......
......@@ -59,11 +59,6 @@ public class MastershipServiceAdapter implements MastershipService {
}
@Override
public MastershipTermService requestTermService() {
return null;
}
@Override
public RoleInfo getNodesFor(DeviceId deviceId) {
return null;
}
......
......@@ -50,7 +50,7 @@ import org.slf4j.Logger;
@Component(immediate = true)
@Service
public class MastershipManager
implements MastershipService, MastershipAdminService {
implements MastershipService, MastershipAdminService, MastershipTermService {
private static final String NODE_ID_NULL = "Node ID cannot be null";
private static final String DEVICE_ID_NULL = "Device ID cannot be null";
......@@ -159,8 +159,8 @@ implements MastershipService, MastershipAdminService {
}
@Override
public MastershipTermService requestTermService() {
return new InternalMastershipTermService();
public MastershipTerm getMastershipTerm(DeviceId deviceId) {
return store.getTermFor(deviceId);
}
@Override
......@@ -184,14 +184,7 @@ implements MastershipService, MastershipAdminService {
}
}
private class InternalMastershipTermService implements MastershipTermService {
@Override
public MastershipTerm getMastershipTerm(DeviceId deviceId) {
return store.getTermFor(deviceId);
}
}
//callback for reacting to cluster events
private class InternalClusterEventListener implements ClusterEventListener {
......
......@@ -100,6 +100,7 @@ public class DeviceManager
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected MastershipService mastershipService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected MastershipTermService termService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
......@@ -112,7 +113,6 @@ public class DeviceManager
store.setDelegate(delegate);
eventDispatcher.addSink(DeviceEvent.class, listenerRegistry);
mastershipService.addListener(mastershipListener);
termService = mastershipService.requestTermService();
backgroundService.scheduleWithFixedDelay(new Runnable() {
......
......@@ -139,7 +139,7 @@ public class MastershipManagerTest {
@Test
public void termService() {
MastershipTermService ts = mgr.requestTermService();
MastershipTermService ts = mgr;
//term = 1 for both
mgr.setRole(NID_LOCAL, DEV_MASTER, MASTER);
......
......@@ -102,7 +102,9 @@ public class DeviceManagerTest {
registry = mgr;
mgr.store = new SimpleDeviceStore();
mgr.eventDispatcher = new TestEventDispatcher();
mgr.mastershipService = new TestMastershipService();
TestMastershipManager mastershipManager = new TestMastershipManager();
mgr.mastershipService = mastershipManager;
mgr.termService = mastershipManager;
mgr.clusterService = new TestClusterService();
mgr.deviceClockProviderService = new TestClockProviderService();
mgr.activate();
......@@ -283,8 +285,8 @@ public class DeviceManagerTest {
}
}
private static class TestMastershipService
extends MastershipServiceAdapter {
private static class TestMastershipManager
extends MastershipServiceAdapter implements MastershipTermService {
@Override
public MastershipRole getLocalRole(DeviceId deviceId) {
return MastershipRole.MASTER;
......@@ -301,15 +303,10 @@ public class DeviceManagerTest {
}
@Override
public MastershipTermService requestTermService() {
return new MastershipTermService() {
@Override
public MastershipTerm getMastershipTerm(DeviceId deviceId) {
// FIXME: just returning something not null
return MastershipTerm.of(NID_LOCAL, 1);
}
};
}
}
// code clone
......
......@@ -137,6 +137,10 @@ public class GossipDeviceStore
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected MastershipService mastershipService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected MastershipTermService termService;
protected static final KryoSerializer SERIALIZER = new KryoSerializer() {
@Override
protected void setupKryoPool() {
......@@ -736,7 +740,6 @@ public class GossipDeviceStore
}
log.debug("Temporarily requesting role for {} to remove", deviceId);
mastershipService.requestRoleFor(deviceId);
MastershipTermService termService = mastershipService.requestTermService();
MastershipTerm term = termService.getMastershipTerm(deviceId);
if (myId.equals(term.master())) {
master = myId;
......
......@@ -27,7 +27,6 @@ import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.cluster.RoleInfo;
import org.onlab.onos.mastership.MastershipListener;
import org.onlab.onos.mastership.MastershipService;
import org.onlab.onos.mastership.MastershipTermService;
import org.onlab.onos.net.ConnectPoint;
import org.onlab.onos.net.DefaultDevice;
import org.onlab.onos.net.DefaultPort;
......@@ -482,11 +481,6 @@ public class LLDPLinkProviderTest {
}
@Override
public MastershipTermService requestTermService() {
return null;
}
@Override
public void addListener(MastershipListener listener) {
}
......