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;
24 public MockRaftActorContext(){
28 public MockRaftActorContext(String id, ActorSystem system, ActorRef actor){
34 @Override public ActorRef actorOf(Props props) {
35 return system.actorOf(props);
38 @Override public ActorSelection actorSelection(String path) {
39 return system.actorSelection(path);
42 @Override public String getId() {
46 @Override public ActorRef getActor() {
50 @Override public ElectionTerm getTermInformation() {
51 return new ElectionTermImpl(this.id);
54 @Override public AtomicLong getCommitIndex() {
55 throw new UnsupportedOperationException("getCommitIndex");
58 @Override public AtomicLong getLastApplied() {
59 throw new UnsupportedOperationException("getLastApplied");
62 @Override public ReplicatedLog getReplicatedLog() {
63 return new ReplicatedLog(){
65 @Override public ReplicatedLogEntry getReplicatedLogEntry(
67 throw new UnsupportedOperationException(
68 "getReplicatedLogEntry");
71 @Override public ReplicatedLogEntry last() {
72 return new ReplicatedLogEntry() {
73 @Override public Object getData() {
77 @Override public long getTerm() {
81 @Override public long getIndex() {