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.raft;
11 import akka.actor.ActorRef;
12 import akka.actor.ActorSelection;
13 import akka.actor.ActorSystem;
14 import akka.actor.Props;
16 import java.util.concurrent.atomic.AtomicLong;
18 public class MockRaftActorContext implements RaftActorContext {
21 private ActorSystem system;
22 private ActorRef actor;
23 private AtomicLong index = new AtomicLong(0);
24 private AtomicLong lastApplied = new AtomicLong(0);
25 private final ElectionTerm electionTerm;
27 public MockRaftActorContext(){
31 public MockRaftActorContext(String id, ActorSystem system, ActorRef actor){
36 electionTerm = new ElectionTermImpl(id);
39 @Override public ActorRef actorOf(Props props) {
40 return system.actorOf(props);
43 @Override public ActorSelection actorSelection(String path) {
44 return system.actorSelection(path);
47 @Override public String getId() {
51 @Override public ActorRef getActor() {
55 @Override public ElectionTerm getTermInformation() {
59 public void setIndex(AtomicLong index){
63 @Override public AtomicLong getCommitIndex() {
67 public void setLastApplied(AtomicLong lastApplied){
68 this.lastApplied = lastApplied;
71 @Override public AtomicLong getLastApplied() {
75 @Override public ReplicatedLog getReplicatedLog() {
76 return new ReplicatedLog(){
78 @Override public ReplicatedLogEntry getReplicatedLogEntry(
80 throw new UnsupportedOperationException(
81 "getReplicatedLogEntry");
84 @Override public ReplicatedLogEntry last() {
85 return new ReplicatedLogEntry() {
86 @Override public Object getData() {
90 @Override public long getTerm() {
94 @Override public long getIndex() {
102 @Override public ActorSystem getActorSystem() {