X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Futils%2FNormalizedNodeAggregator.java;fp=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Futils%2FNormalizedNodeAggregator.java;h=c0965675e0cf8675f9b5a13157d2ba47bd6f9c99;hp=18604587f12465d8b57d274f4042fa712e69b3b9;hb=bdaf6bbf2576f28e77c19251dc462c394303aced;hpb=35d339178ea32743fd235e2b8e5f78ea6d3ab398 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/NormalizedNodeAggregator.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/NormalizedNodeAggregator.java index 18604587f1..c0965675e0 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/NormalizedNodeAggregator.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/NormalizedNodeAggregator.java @@ -9,12 +9,14 @@ package org.opendaylight.controller.cluster.datastore.utils; import com.google.common.base.Optional; import java.util.List; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException; +import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType; import org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -24,11 +26,12 @@ public class NormalizedNodeAggregator { private final DataTree dataTree; private NormalizedNodeAggregator(final YangInstanceIdentifier rootIdentifier, final List>> nodes, - final SchemaContext schemaContext) { + final SchemaContext schemaContext, LogicalDatastoreType logicalDatastoreType) { this.rootIdentifier = rootIdentifier; this.nodes = nodes; - // FIXME: BUG-1014: pass down proper DataTree - this.dataTree = InMemoryDataTreeFactory.getInstance().create(); + this.dataTree = InMemoryDataTreeFactory.getInstance().create( + logicalDatastoreType == LogicalDatastoreType.CONFIGURATION ? TreeType.CONFIGURATION : + TreeType.OPERATIONAL); this.dataTree.setSchemaContext(schemaContext); } @@ -37,13 +40,15 @@ public class NormalizedNodeAggregator { * * @param nodes * @param schemaContext + * @param logicalDatastoreType * @return * @throws DataValidationFailedException */ public static Optional> aggregate(final YangInstanceIdentifier rootIdentifier, final List>> nodes, - final SchemaContext schemaContext) throws DataValidationFailedException { - return new NormalizedNodeAggregator(rootIdentifier, nodes, schemaContext).aggregate(); + final SchemaContext schemaContext, + LogicalDatastoreType logicalDatastoreType) throws DataValidationFailedException { + return new NormalizedNodeAggregator(rootIdentifier, nodes, schemaContext, logicalDatastoreType).aggregate(); } private Optional> aggregate() throws DataValidationFailedException {