From: Tomas Cere Date: Thu, 10 Nov 2016 13:41:30 +0000 (+0100) Subject: BUG-2138: Allow creation of prefixed ShardDataTrees X-Git-Tag: release/carbon~348 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=a5b0d08ddb4ff2ff34d27d35f0c0be4b4b416dee;hp=6a9017b626b81017062d13da6c665aad7721d356 BUG-2138: Allow creation of prefixed ShardDataTrees This actually starts using the storeRoot field from DataStoreContext so we can have CDS shards rooted somewhere else than store root. Change-Id: I304a7678f3077359e7b2c4007e73321544c6e798 Signed-off-by: Tomas Cere --- diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java index 05b30932d2..1f786e6a20 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java @@ -185,7 +185,8 @@ public class Shard extends RaftActor { treeChangeListenerPublisher, dataChangeListenerPublisher, name); } else { store = new ShardDataTree(this, builder.getSchemaContext(), builder.getTreeType(), - treeChangeListenerPublisher, dataChangeListenerPublisher, name); + builder.getDatastoreContext().getStoreRoot(), treeChangeListenerPublisher, + dataChangeListenerPublisher, name); } shardMBean = ShardMBeanFactory.getShardStatsMBean(name, datastoreContext.getDataStoreMXBeanType(), this); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java index a04bf62a96..89c381a4ca 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java @@ -136,15 +136,17 @@ public class ShardDataTree extends ShardDataTreeTransactionParent { } public ShardDataTree(final Shard shard, final SchemaContext schemaContext, final TreeType treeType, + final YangInstanceIdentifier root, final ShardDataTreeChangeListenerPublisher treeChangeListenerPublisher, final ShardDataChangeListenerPublisher dataChangeListenerPublisher, final String logContext) { - this(shard, schemaContext, InMemoryDataTreeFactory.getInstance().create(treeType), + this(shard, schemaContext, InMemoryDataTreeFactory.getInstance().create(treeType, root), treeChangeListenerPublisher, dataChangeListenerPublisher, logContext); } @VisibleForTesting public ShardDataTree(final Shard shard, final SchemaContext schemaContext, final TreeType treeType) { - this(shard, schemaContext, treeType, new DefaultShardDataTreeChangeListenerPublisher(), + this(shard, schemaContext, treeType, YangInstanceIdentifier.EMPTY, + new DefaultShardDataTreeChangeListenerPublisher(), new DefaultShardDataChangeListenerPublisher(), ""); }