Bug 2187: Remove ShardManager mbean replica operations
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / jmx / mbeans / shardmanager / ShardManagerInfo.java
index aaac644b558b3e1913facbd01bc5a07536bf30ee..79beae72a339acac1438d652c16b8b3cd8512e55 100644 (file)
@@ -29,26 +29,32 @@ public class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfo
 
     private static final Logger LOG = LoggerFactory.getLogger(ShardManagerInfo.class);
 
+    private final String memberName;
     private final List<String> localShards;
 
     private boolean syncStatus = false;
 
     private ShardManager shardManager;
 
-    public ShardManagerInfo(String name, String mxBeanType, List<String> localShards) {
+    public ShardManagerInfo(String memberName, String name, String mxBeanType, List<String> localShards) {
         super(name, mxBeanType, JMX_CATEGORY_SHARD_MANAGER);
+        this.memberName = memberName;
         this.localShards = localShards;
     }
 
-    public static ShardManagerInfo createShardManagerMBean(String name, String mxBeanType,
+    public static ShardManagerInfo createShardManagerMBean(String memberName, String name, String mxBeanType,
             List<String> localShards){
-        ShardManagerInfo shardManagerInfo = new ShardManagerInfo(name, mxBeanType, localShards);
+        ShardManagerInfo shardManagerInfo = new ShardManagerInfo(memberName, name, mxBeanType, localShards);
 
         shardManagerInfo.registerMBean();
 
         return shardManagerInfo;
     }
 
+    public void addLocalShard(String shardName) {
+        localShards.add(shardName);
+    }
+
     @Override
     public List<String> getLocalShards() {
         return localShards;
@@ -59,6 +65,11 @@ public class ShardManagerInfo extends AbstractMXBean implements ShardManagerInfo
         return this.syncStatus;
     }
 
+    @Override
+    public String getMemberName() {
+        return memberName;
+    }
+
     @Override
     public void switchAllLocalShardsState(String newState, long term) {
         LOG.info("switchAllLocalShardsState called newState = {}, term = {}", newState, term);