MastershipEvent carries RoleInfo as a subject
Change-Id: I8f850ad1f21bfbdc23fedda1a53f4ccedb1b8d32
diff --git a/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java b/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java
index aaf056c..74ca8cd 100644
--- a/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java
+++ b/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java
@@ -136,13 +136,13 @@
rv.reassign(nodeId, STANDBY, NONE);
roleMap.put(deviceId, rv);
updateTerm(deviceId);
- return new MastershipEvent(MASTER_CHANGED, deviceId, nodeId);
+ return new MastershipEvent(MASTER_CHANGED, deviceId, rv.roleInfo());
case NONE:
rv.add(MASTER, nodeId);
rv.reassign(nodeId, STANDBY, NONE);
roleMap.put(deviceId, rv);
updateTerm(deviceId);
- return new MastershipEvent(MASTER_CHANGED, deviceId, nodeId);
+ return new MastershipEvent(MASTER_CHANGED, deviceId, rv.roleInfo());
default:
log.warn("unknown Mastership Role {}", role);
return null;
@@ -306,7 +306,7 @@
roleMap.put(deviceId, rv);
Integer term = terms.get(deviceId);
terms.put(deviceId, ++term);
- return new MastershipEvent(MASTER_CHANGED, deviceId, backup);
+ return new MastershipEvent(MASTER_CHANGED, deviceId, rv.roleInfo());
}
}
@@ -373,7 +373,7 @@
return;
}
notifyDelegate(new MastershipEvent(
- MASTER_CHANGED, event.getKey(), event.getValue().get(MASTER)));
+ MASTER_CHANGED, event.getKey(), event.getValue().roleInfo()));
}
@Override
diff --git a/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/RoleValue.java b/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/RoleValue.java
index 1ccee6b..c156143 100644
--- a/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/RoleValue.java
+++ b/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/RoleValue.java
@@ -10,6 +10,9 @@
import org.onlab.onos.cluster.RoleInfo;
import org.onlab.onos.net.MastershipRole;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
+
/**
* A structure that holds node mastership roles associated with a
* {@link DeviceId}. This structure needs to be locked through IMap.
@@ -109,14 +112,10 @@
@Override
public String toString() {
- final StringBuilder builder = new StringBuilder();
+ ToStringHelper helper = MoreObjects.toStringHelper(this.getClass());
for (Map.Entry<MastershipRole, List<NodeId>> el : value.entrySet()) {
- builder.append(el.getKey().toString()).append(": [");
- for (NodeId n : el.getValue()) {
- builder.append(n);
- }
- builder.append("]\n");
+ helper.add(el.getKey().toString(), el.getValue());
}
- return builder.toString();
+ return helper.toString();
}
}