Merge "Cleanup RpcRoutingStrategy definition"
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / utils / MockClusterWrapper.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.controller.cluster.datastore.utils;
10
11 import akka.actor.ActorRef;
12 import akka.actor.AddressFromURIString;
13 import akka.cluster.ClusterEvent;
14 import akka.cluster.MemberStatus;
15 import akka.cluster.UniqueAddress;
16 import org.opendaylight.controller.cluster.datastore.ClusterWrapper;
17 import scala.collection.JavaConversions;
18 import java.util.HashSet;
19 import java.util.Set;
20
21 public class MockClusterWrapper implements ClusterWrapper{
22
23     private String selfAddress = "akka.tcp://test@127.0.0.1:2550/user/member-1-shard-test-config";
24
25     @Override
26     public void subscribeToMemberEvents(ActorRef actorRef) {
27     }
28
29     @Override
30     public String getCurrentMemberName() {
31         return "member-1";
32     }
33
34     @Override
35     public String getSelfAddress() {
36         return selfAddress;
37     }
38
39     public void setSelfAddress(String selfAddress) {
40         this.selfAddress = selfAddress;
41     }
42
43     public static void sendMemberUp(ActorRef to, String memberName, String address){
44         to.tell(createMemberUp(memberName, address), null);
45     }
46
47     public static void sendMemberRemoved(ActorRef to, String memberName, String address){
48         to.tell(createMemberRemoved(memberName, address), null);
49     }
50
51     private static ClusterEvent.MemberRemoved createMemberRemoved(String memberName, String address) {
52         akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
53             AddressFromURIString.parse(address), 55);
54
55         Set<String> roles = new HashSet<>();
56
57         roles.add(memberName);
58
59         akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus
60             .removed(),
61             JavaConversions.asScalaSet(roles).<String>toSet());
62
63         return new ClusterEvent.MemberRemoved(member, MemberStatus.up());
64
65     }
66
67
68     private static ClusterEvent.MemberUp createMemberUp(String memberName, String address) {
69         akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
70             AddressFromURIString.parse(address), 55);
71
72         Set<String> roles = new HashSet<>();
73
74         roles.add(memberName);
75
76         akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus.up(),
77             JavaConversions.asScalaSet(roles).<String>toSet());
78
79         return new ClusterEvent.MemberUp(member);
80     }
81 }