Add NormalizedNodeContainer.size()
[yangtools.git] / yang / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / tree / spi / AbstractMutableContainerNode.java
index 056a189a0d91982f4d12039b9df8ab1135f2ff46..22b2488c9f14ab840fdcab99ae2491ddb213fb22 100644 (file)
@@ -7,8 +7,9 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
 
-import com.google.common.base.Preconditions;
-import com.google.common.base.Verify;
+import static com.google.common.base.Verify.verify;
+import static java.util.Objects.requireNonNull;
+
 import java.util.Map;
 import org.opendaylight.yangtools.util.MapAdaptor;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
@@ -30,7 +31,7 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode {
         this.data = parent.getData();
         this.version = parent.getVersion();
         this.subtreeVersion = parent.getSubtreeVersion();
-        this.children = Preconditions.checkNotNull(children);
+        this.children = requireNonNull(children);
     }
 
     protected final Version getVersion() {
@@ -48,7 +49,7 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode {
 
     @Override
     public final void setSubtreeVersion(final Version subtreeVersion) {
-        this.subtreeVersion = Preconditions.checkNotNull(subtreeVersion);
+        this.subtreeVersion = requireNonNull(subtreeVersion);
     }
 
     @Override
@@ -58,12 +59,12 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode {
 
     @Override
     public final void removeChild(final PathArgument id) {
-        children.remove(id);
+        children.remove(requireNonNull(id));
     }
 
     @Override
     public final void setData(final NormalizedNode<?, ?> data) {
-        this.data = Preconditions.checkNotNull(data);
+        this.data = requireNonNull(data);
     }
 
     @Override
@@ -80,10 +81,11 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode {
          */
         if (!version.equals(subtreeVersion)) {
             final Map<PathArgument, TreeNode> newChildren = MapAdaptor.getDefaultInstance().optimize(children);
-            final int dataSize = getData().getValue().size();
-            if (dataSize != newChildren.size()) {
-                Verify.verify(dataSize > newChildren.size(), "Detected %s modified children, data has only %s",
-                    newChildren.size(), dataSize);
+            final int dataSize = getData().size();
+            final int childrenSize = newChildren.size();
+            if (dataSize != childrenSize) {
+                verify(dataSize > childrenSize, "Detected %s modified children, data has only %s",
+                    childrenSize, dataSize);
                 ret = new LazyContainerNode(data, version, newChildren, subtreeVersion);
             } else {
                 ret = new MaterializedContainerNode(data, version, newChildren, subtreeVersion);