import akka.actor.ActorRef;
import akka.actor.Address;
import akka.actor.AddressFromURIString;
-import akka.cluster.ClusterEvent;
+import akka.cluster.ClusterEvent.MemberRemoved;
+import akka.cluster.ClusterEvent.MemberUp;
+import akka.cluster.ClusterEvent.ReachableMember;
+import akka.cluster.ClusterEvent.UnreachableMember;
+import akka.cluster.Member;
import akka.cluster.MemberStatus;
import akka.cluster.UniqueAddress;
+import org.opendaylight.controller.cluster.access.concepts.MemberName;
import org.opendaylight.controller.cluster.datastore.ClusterWrapper;
-import scala.collection.JavaConversions;
-import java.util.HashSet;
-import java.util.Set;
+import scala.collection.immutable.Set;
-public class MockClusterWrapper implements ClusterWrapper{
+public class MockClusterWrapper implements ClusterWrapper {
- private Address selfAddress = new Address("akka.tcp", "test", "127.0.0.1", 2550);
+ private Address selfAddress = new Address("akka", "test", "127.0.0.1", 2550);
+ private final MemberName currentMemberName;
+
+ public MockClusterWrapper() {
+ this("member-1");
+ }
+
+ public MockClusterWrapper(final String currentMemberName) {
+ this.currentMemberName = MemberName.forName(currentMemberName);
+ }
@Override
- public void subscribeToMemberEvents(ActorRef actorRef) {
+ public void subscribeToMemberEvents(final ActorRef actorRef) {
}
@Override
- public String getCurrentMemberName() {
- return "member-1";
+ public MemberName getCurrentMemberName() {
+ return currentMemberName;
}
@Override
return selfAddress;
}
- public void setSelfAddress(Address selfAddress) {
+ public void setSelfAddress(final Address selfAddress) {
this.selfAddress = selfAddress;
}
- public static void sendMemberUp(ActorRef to, String memberName, String address){
+ public static void sendMemberUp(final ActorRef to, final String memberName, final String address) {
to.tell(createMemberUp(memberName, address), null);
}
- public static void sendMemberRemoved(ActorRef to, String memberName, String address){
+ public static void sendMemberRemoved(final ActorRef to, final String memberName, final String address) {
to.tell(createMemberRemoved(memberName, address), null);
}
- private static ClusterEvent.MemberRemoved createMemberRemoved(String memberName, String address) {
- akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
- AddressFromURIString.parse(address), 55);
-
- Set<String> roles = new HashSet<>();
+ public static MemberRemoved createMemberRemoved(final String memberName, final String address) {
+ UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
+ Member member = new Member(uniqueAddress, 1, MemberStatus.removed(), setOf(memberName));
- roles.add(memberName);
-
- akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus
- .removed(),
- JavaConversions.asScalaSet(roles).<String>toSet());
+ return new MemberRemoved(member, MemberStatus.up());
+ }
- return new ClusterEvent.MemberRemoved(member, MemberStatus.up());
+ public static MemberUp createMemberUp(final String memberName, final String address) {
+ UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
+ Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));
+ return new MemberUp(member);
}
+ public static UnreachableMember createUnreachableMember(final String memberName, final String address) {
+ UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
+ Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));
- private static ClusterEvent.MemberUp createMemberUp(String memberName, String address) {
- akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
- AddressFromURIString.parse(address), 55);
-
- Set<String> roles = new HashSet<>();
+ return new UnreachableMember(member);
+ }
- roles.add(memberName);
+ public static ReachableMember createReachableMember(final String memberName, final String address) {
+ UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
+ Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));
- akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus.up(),
- JavaConversions.asScalaSet(roles).<String>toSet());
+ return new ReachableMember(member);
+ }
- return new ClusterEvent.MemberUp(member);
+ @SuppressWarnings("unchecked")
+ private static Set<String> setOf(final String str) {
+ return scala.collection.immutable.Set$.MODULE$.<String>newBuilder().$plus$eq(str).result();
}
}