BUG 2187 - Persisting shard list in ShardManager
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / config / ModuleConfig.java
index 1a309a06c0bfadc56f8104817b56daa1e832b844..b54946774d2a4bc7cd266bf93370a91f5ccf0d77 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.controller.cluster.datastore.config;
 
+import com.google.common.collect.ImmutableSet;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
@@ -28,6 +29,16 @@ public class ModuleConfig {
         this.name = name;
     }
 
+    public ModuleConfig(ModuleConfig moduleConfig) {
+        this.name = moduleConfig.getName();
+        this.nameSpace = moduleConfig.getNameSpace();
+        this.shardStrategy = moduleConfig.getShardStrategy();
+        for (ShardConfig shardConfig : moduleConfig.getShardConfigs()) {
+            shardConfigs.put(shardConfig.getName(), new ShardConfig(shardConfig.getName(),
+                ImmutableSet.copyOf(shardConfig.getReplicas())));
+        }
+    }
+
     public String getName() {
         return name;
     }
@@ -63,4 +74,8 @@ public class ModuleConfig {
     public void setShardStrategy(ShardStrategy shardStrategy) {
         this.shardStrategy = shardStrategy;
     }
-}
\ No newline at end of file
+
+    public ShardConfig removeShardConfig(String name) {
+        return shardConfigs.remove(name);
+    }
+}