basic test for ReplicaInfoManager
Change-Id: I604b8b24b9ac0896e6dd2a0650092af76f37968d
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/flow/ReplicaInfoService.java b/core/store/dist/src/main/java/org/onlab/onos/store/flow/ReplicaInfoService.java
index c3f1bbf..e613348 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/flow/ReplicaInfoService.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/flow/ReplicaInfoService.java
@@ -3,7 +3,7 @@
import org.onlab.onos.net.DeviceId;
/**
- * Service to return where the Replica should be placed.
+ * Service to return where the replica should be placed.
*/
public interface ReplicaInfoService {
@@ -15,4 +15,19 @@
* @return placement information
*/
ReplicaInfo getReplicaInfoFor(DeviceId deviceId);
+
+ /**
+ * Adds the specified replica placement info change listener.
+ *
+ * @param listener the replica placement info change listener
+ */
+ void addListener(ReplicaInfoEventListener listener);
+
+ /**
+ * Removes the specified replica placement info change listener.
+ *
+ * @param listener the replica placement info change listener
+ */
+ void removeListener(ReplicaInfoEventListener listener);
+
}
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/flow/impl/ReplicaInfoManager.java b/core/store/dist/src/main/java/org/onlab/onos/store/flow/impl/ReplicaInfoManager.java
index 0d4cd08..dcbdb4a 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/flow/impl/ReplicaInfoManager.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/flow/impl/ReplicaInfoManager.java
@@ -1,5 +1,6 @@
package org.onlab.onos.store.flow.impl;
+import static com.google.common.base.Preconditions.checkNotNull;
import static org.slf4j.LoggerFactory.getLogger;
import static org.onlab.onos.store.flow.ReplicaInfoEvent.Type.MASTER_CHANGED;
@@ -66,6 +67,16 @@
Collections.<NodeId>emptyList());
}
+ @Override
+ public void addListener(ReplicaInfoEventListener listener) {
+ listenerRegistry.addListener(checkNotNull(listener));
+ }
+
+ @Override
+ public void removeListener(ReplicaInfoEventListener listener) {
+ listenerRegistry.removeListener(checkNotNull(listener));
+ }
+
final class InternalMastershipListener implements MastershipListener {
@Override