From: Robert Varga Date: Sun, 25 Feb 2024 07:58:21 +0000 (+0100) Subject: Do not use Builders in netconf-server-mdsal X-Git-Tag: v7.0.0~28 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=e3f8f0e6ae9f905027228f56b7d3a17c5d16890c;p=netconf.git Do not use Builders in netconf-server-mdsal Use data.spi.node.ImmutableNodes for the few constructs we create. Change-Id: Ic9dbb6107b0d75df3ce3cea67a450c3c6a54456e Signed-off-by: Robert Varga --- diff --git a/plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/CopyConfig.java b/plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/CopyConfig.java index 8c3a1e28cf..f213af4f80 100644 --- a/plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/CopyConfig.java +++ b/plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/CopyConfig.java @@ -41,9 +41,9 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter; import org.opendaylight.yangtools.yang.data.codec.xml.XMLStreamNormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.impl.schema.NormalizationResultHolder; +import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -60,7 +60,7 @@ public final class CopyConfig extends AbstractEdit { } // Top-level "data" node without child nodes - private static final ContainerNode EMPTY_ROOT_NODE = Builders.containerBuilder() + private static final ContainerNode EMPTY_ROOT_NODE = ImmutableNodes.newContainerBuilder() .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(SchemaContext.NAME)).build(); private final TransactionProvider transactionProvider; diff --git a/plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/EditConfig.java b/plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/EditConfig.java index 8873593276..5755ec09cd 100644 --- a/plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/EditConfig.java +++ b/plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/EditConfig.java @@ -28,7 +28,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.impl.schema.Builders; +import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes; import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; import org.slf4j.Logger; @@ -145,9 +145,10 @@ public final class EditConfig extends AbstractEdit { } // merge empty ordered or unordered map + final var builder = listSchemaNode.isUserOrdered() ? ImmutableNodes.newUserMapBuilder() + : ImmutableNodes.newSystemMapBuilder(); rwtx.merge(LogicalDatastoreType.CONFIGURATION, parentNodeYid, - (listSchemaNode.isUserOrdered() ? Builders.orderedMapBuilder() : Builders.mapBuilder()) - .withNodeIdentifier(new NodeIdentifier(parentNodeYid.getLastPathArgument().getNodeType())) + builder.withNodeIdentifier(new NodeIdentifier(parentNodeYid.getLastPathArgument().getNodeType())) .build()); } } diff --git a/plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/Netconf538Test.java b/plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/Netconf538Test.java index 352d707ae0..d8c4ff2cca 100644 --- a/plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/Netconf538Test.java +++ b/plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/Netconf538Test.java @@ -24,9 +24,8 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; -import org.opendaylight.yangtools.yang.data.api.schema.MapNode; -import org.opendaylight.yangtools.yang.data.impl.schema.Builders; -import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; +import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode; +import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -53,9 +52,9 @@ public class Netconf538Test { LeafNode leafNode = ImmutableNodes.leafNode(NAME_QNAME, LEAF_VALUE); - MapNode data = Builders.mapBuilder() + SystemMapNode data = ImmutableNodes.newSystemMapBuilder() .withNodeIdentifier(NodeIdentifier.create(BASE)) - .withChild(Builders.mapEntryBuilder() + .withChild(ImmutableNodes.newMapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(BASE, NAME_QNAME,LEAF_VALUE)) .withChild(leafNode) .build()) diff --git a/plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/RuntimeRpcTest.java b/plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/RuntimeRpcTest.java index 77fc83c5c9..9f1f5db2b0 100644 --- a/plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/RuntimeRpcTest.java +++ b/plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/RuntimeRpcTest.java @@ -60,7 +60,7 @@ import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; -import org.opendaylight.yangtools.yang.data.impl.schema.Builders; +import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.RpcDefinition; @@ -122,7 +122,7 @@ public class RuntimeRpcTest { .findFirst().orElse(null); final RpcDefinition rpcDefinition = getRpcDefinitionFromModule(module, module.getNamespace(), type.getLocalName()); - final ContainerNode node = Builders.containerBuilder() + final ContainerNode node = ImmutableNodes.newContainerBuilder() .withNodeIdentifier(new NodeIdentifier(rpcDefinition.getOutput().getQName())) .withValue(children) .build();