Serialization/Deserialization and a host of other fixes
[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
19 import java.util.HashSet;
20 import java.util.Set;
21
22 public class MockClusterWrapper implements ClusterWrapper{
23
24     @Override public void subscribeToMemberEvents(ActorRef actorRef) {
25     }
26
27     @Override public String getCurrentMemberName() {
28         return "member-1";
29     }
30
31     public static void sendMemberUp(ActorRef to, String memberName, String address){
32         to.tell(createMemberUp(memberName, address), null);
33     }
34
35     public static void sendMemberRemoved(ActorRef to, String memberName, String address){
36         to.tell(createMemberRemoved(memberName, address), null);
37     }
38
39     private static ClusterEvent.MemberRemoved createMemberRemoved(String memberName, String address) {
40         akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
41             AddressFromURIString.parse(address), 55);
42
43         Set<String> roles = new HashSet<>();
44
45         roles.add(memberName);
46
47         akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus
48             .removed(),
49             JavaConversions.asScalaSet(roles).<String>toSet());
50
51         return new ClusterEvent.MemberRemoved(member, MemberStatus.up());
52
53     }
54
55
56     private static ClusterEvent.MemberUp createMemberUp(String memberName, String address) {
57         akka.cluster.UniqueAddress uniqueAddress = new UniqueAddress(
58             AddressFromURIString.parse(address), 55);
59
60         Set<String> roles = new HashSet<>();
61
62         roles.add(memberName);
63
64         akka.cluster.Member member = new akka.cluster.Member(uniqueAddress, 1, MemberStatus.up(),
65             JavaConversions.asScalaSet(roles).<String>toSet());
66
67         return new ClusterEvent.MemberUp(member);
68     }
69 }