2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.controller.cluster.datastore.utils;
11 import akka.actor.ActorRef;
12 import akka.actor.Address;
13 import akka.actor.AddressFromURIString;
14 import akka.cluster.ClusterEvent;
15 import akka.cluster.MemberStatus;
16 import akka.cluster.UniqueAddress;
17 import org.opendaylight.controller.cluster.datastore.ClusterWrapper;
18 import scala.collection.JavaConversions;
19 import java.util.HashSet;
22 public class MockClusterWrapper implements ClusterWrapper{
24 private Address selfAddress = new Address("akka.tcp", "test", "127.0.0.1", 2550);
27 public void subscribeToMemberEvents(ActorRef actorRef) {
31 public String getCurrentMemberName() {
36 public Address getSelfAddress() {
40 public void setSelfAddress(Address selfAddress) {
41 this.selfAddress = selfAddress;
44 public static void sendMemberUp(ActorRef to, String memberName, String address){
45 to.tell(createMemberUp(memberName, address), null);
48 public static void sendMemberRemoved(ActorRef to, String memberName, String address){
49 to.tell(createMemberRemoved(memberName, address), null);
52 private static ClusterEvent.MemberRemoved createMemberRemoved(String memberName, String address) {
53 akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
54 AddressFromURIString.parse(address), 55);
56 Set<String> roles = new HashSet<>();
58 roles.add(memberName);
60 akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus
62 JavaConversions.asScalaSet(roles).<String>toSet());
64 return new ClusterEvent.MemberRemoved(member, MemberStatus.up());
69 private static ClusterEvent.MemberUp createMemberUp(String memberName, String address) {
70 akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
71 AddressFromURIString.parse(address), 55);
73 Set<String> roles = new HashSet<>();
75 roles.add(memberName);
77 akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus.up(),
78 JavaConversions.asScalaSet(roles).<String>toSet());
80 return new ClusterEvent.MemberUp(member);