From a5b0d08ddb4ff2ff34d27d35f0c0be4b4b416dee Mon Sep 17 00:00:00 2001 From: Tomas Cere Date: Thu, 10 Nov 2016 14:41:30 +0100 Subject: [PATCH] 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 --- .../opendaylight/controller/cluster/datastore/Shard.java | 3 ++- .../controller/cluster/datastore/ShardDataTree.java | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) 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(), ""); } -- 2.36.6