Do not use Builders in netconf-server-mdsal 25/110325/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 25 Feb 2024 07:58:21 +0000 (08:58 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 25 Feb 2024 07:58:21 +0000 (08:58 +0100)
Use data.spi.node.ImmutableNodes for the few constructs we create.

Change-Id: Ic9dbb6107b0d75df3ce3cea67a450c3c6a54456e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/CopyConfig.java
plugins/netconf-server-mdsal/src/main/java/org/opendaylight/netconf/server/mdsal/operations/EditConfig.java
plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/Netconf538Test.java
plugins/netconf-server-mdsal/src/test/java/org/opendaylight/netconf/server/mdsal/operations/RuntimeRpcTest.java

index 8c3a1e28cf22b89bb30df05669c432ef5a971a21..f213af4f8049b7ccd8b5dc5baa847cad944af869 100644 (file)
@@ -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;
index 88735932768b26f88a3a562d420660f5d00f6213..5755ec09cd54b794b53d08965a90ff0689ec3972 100644 (file)
@@ -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());
         }
     }
index 352d707ae03ccff8cd36b995b9faccdf5124ee38..d8c4ff2cca021bc31a37104ef049f95fbbe23a7c 100644 (file)
@@ -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<String> 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())
index 77fc83c5c940d91c2df2864efbbd5d0e9d4819e3..9f1f5db2b06c4566c8ad24f5a1bdcb211c4507a7 100644 (file)
@@ -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();