Do not access size indirect through body() 52/104152/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 24 Jan 2023 13:32:43 +0000 (14:32 +0100)
committerRobert Varga <nite@hq.sk>
Mon, 30 Jan 2023 12:27:55 +0000 (12:27 +0000)
This seems to be more efficient, but needs to be evaluated.

Change-Id: Ia8ddc618b7b98a82ad51d97c349d035793386562
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 63dd7f36f6f23ce6e35cd0027ea042147fec641c)

data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/node/AbstractMutableContainerNode.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/node/LazyContainerNode.java

index a8f43498cf8bc0e49ff9c7ef952878a11a65389a..7efe4d1c656dc4827b0a6043f25fc1ec5d600626 100644 (file)
@@ -80,7 +80,7 @@ abstract class AbstractMutableContainerNode extends MutableTreeNode {
          */
         if (!version.equals(subtreeVersion)) {
             final Map<PathArgument, TreeNode> newChildren = MapAdaptor.getDefaultInstance().optimize(children);
-            final int dataSize = getData().body().size();
+            final int dataSize = getData().size();
             final int childrenSize = newChildren.size();
             if (dataSize != childrenSize) {
                 verify(dataSize > childrenSize, "Detected %s modified children, data has only %s",
index be0eefb4e58c89d928bfd3575ef99aa12a4bdef0..99d25f289a278ee822fe0394bc1890a5b04d669d 100644 (file)
@@ -31,7 +31,7 @@ final class LazyContainerNode extends AbstractModifiedContainerNode {
     @Override
     public MutableTreeNode mutable() {
         final Map<PathArgument, TreeNode> snapshot = snapshotChildren();
-        if (snapshot.size() == castData().body().size()) {
+        if (snapshot.size() == castData().size()) {
             return new MaterializedMutableContainerNode(this, snapshot);
         }
         return new LazyMutableContainerNode(this, snapshot);