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.dummy.datastore;
11 import akka.actor.ActorContext;
12 import akka.actor.Props;
13 import akka.actor.UntypedActor;
14 import akka.japi.Creator;
16 public class DummyShardManager extends UntypedActor {
17 public DummyShardManager(Configuration configuration, String memberName, String[] shardNames, String type) throws Exception {
18 new DummyShardsCreator(configuration, context(), memberName, shardNames, type).create();
22 public void onReceive(Object o) throws Exception {
26 public static Props props(Configuration configuration, String memberName, String[] shardNames, String type){
27 return Props.create(new DummyShardManagerCreator(configuration, memberName, shardNames, type));
30 private static class DummyShardManagerCreator implements Creator<DummyShardManager> {
32 private final Configuration configuration;
33 private final String memberName;
34 private final String[] shardNames;
35 private final String type;
37 public DummyShardManagerCreator(Configuration configuration, String memberName, String[] shardNames, String type) {
38 this.configuration = configuration;
39 this.memberName = memberName;
40 this.shardNames = shardNames;
45 public DummyShardManager create() throws Exception {
46 return new DummyShardManager(configuration, memberName, shardNames, type );
50 private static class DummyShardsCreator {
51 private final Configuration configuration;
52 private final ActorContext actorSystem;
53 private final String memberName;
54 private final String[] shardNames;
55 private final String type;
57 DummyShardsCreator(Configuration configuration, ActorContext actorSystem, String memberName, String[] shardNames, String type){
58 this.configuration = configuration;
59 this.actorSystem = actorSystem;
60 this.memberName = memberName;
61 this.shardNames = shardNames;
66 for(String shardName : shardNames){
67 String shardId = memberName + "-shard-" + shardName + "-" + type;
68 actorSystem.actorOf(DummyShard.props(configuration, shardId), shardId);