import akka.cluster.UniqueAddress;
import java.util.HashSet;
import java.util.Set;
+import org.opendaylight.controller.cluster.access.concepts.MemberName;
import org.opendaylight.controller.cluster.datastore.ClusterWrapper;
import scala.collection.JavaConversions;
public class MockClusterWrapper implements ClusterWrapper{
private Address selfAddress = new Address("akka.tcp", "test", "127.0.0.1", 2550);
- private String currentMemberName = "member-1";
+ private final MemberName currentMemberName;
public MockClusterWrapper() {
+ this("member-1");
}
public MockClusterWrapper(String currentMemberName) {
- this.currentMemberName = currentMemberName;
+ this.currentMemberName = MemberName.forName(currentMemberName);
}
@Override
}
@Override
- public String getCurrentMemberName() {
+ public MemberName getCurrentMemberName() {
return currentMemberName;
}
to.tell(createMemberRemoved(memberName, address), null);
}
- private static ClusterEvent.MemberRemoved createMemberRemoved(String memberName, String address) {
+ public static ClusterEvent.MemberRemoved createMemberRemoved(String memberName, String address) {
akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
AddressFromURIString.parse(address), 55);
}
- private static ClusterEvent.MemberUp createMemberUp(String memberName, String address) {
+ public static ClusterEvent.MemberUp createMemberUp(String memberName, String address) {
akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
AddressFromURIString.parse(address), 55);
return new ClusterEvent.MemberUp(member);
}
+
+ public static ClusterEvent.UnreachableMember createUnreachableMember(String memberName, String address) {
+ akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
+ AddressFromURIString.parse(address), 55);
+
+ Set<String> roles = new HashSet<>();
+
+ roles.add(memberName);
+
+ akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus.up(),
+ JavaConversions.asScalaSet(roles).<String>toSet());
+
+ return new ClusterEvent.UnreachableMember(member);
+ }
+
+ public static ClusterEvent.ReachableMember createReachableMember(String memberName, String address) {
+ akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
+ AddressFromURIString.parse(address), 55);
+
+ Set<String> roles = new HashSet<>();
+
+ roles.add(memberName);
+
+ akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus.up(),
+ JavaConversions.asScalaSet(roles).<String>toSet());
+
+ return new ClusterEvent.ReachableMember(member);
+ }
}