--- /dev/null
+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.controller.dummy.datastore;
+
+import akka.actor.ActorContext;
+import akka.actor.Props;
+import akka.actor.UntypedActor;
+import akka.japi.Creator;
+
+public class DummyShardManager extends UntypedActor {
+ public DummyShardManager(Configuration configuration, String memberName, String[] shardNames, String type) throws Exception {
+ new DummyShardsCreator(configuration, context(), memberName, shardNames, type).create();
+ }
+
+ @Override
+ public void onReceive(Object o) throws Exception {
+
+ }
+
+ public static Props props(Configuration configuration, String memberName, String[] shardNames, String type){
+ return Props.create(new DummyShardManagerCreator(configuration, memberName, shardNames, type));
+ }
+
+ private static class DummyShardManagerCreator implements Creator<DummyShardManager> {
+
+ private final Configuration configuration;
+ private final String memberName;
+ private final String[] shardNames;
+ private final String type;
+
+ public DummyShardManagerCreator(Configuration configuration, String memberName, String[] shardNames, String type) {
+ this.configuration = configuration;
+ this.memberName = memberName;
+ this.shardNames = shardNames;
+ this.type = type;
+ }
+
+ @Override
+ public DummyShardManager create() throws Exception {
+ return new DummyShardManager(configuration, memberName, shardNames, type );
+ }
+ }
+
+ private static class DummyShardsCreator {
+ private final Configuration configuration;
+ private final ActorContext actorSystem;
+ private final String memberName;
+ private final String[] shardNames;
+ private final String type;
+
+ DummyShardsCreator(Configuration configuration, ActorContext actorSystem, String memberName, String[] shardNames, String type){
+ this.configuration = configuration;
+ this.actorSystem = actorSystem;
+ this.memberName = memberName;
+ this.shardNames = shardNames;
+ this.type = type;
+ }
+
+ void create(){
+ for(String shardName : shardNames){
+ String shardId = memberName + "-shard-" + shardName + "-" + type;
+ actorSystem.actorOf(DummyShard.props(configuration, shardId), shardId);
+ }
+ }
+ }
+}