Unify ModificationApplyOperation.toString() 99/93899/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 18 Nov 2020 14:58:36 +0000 (15:58 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 20 Nov 2020 16:56:35 +0000 (17:56 +0100)
Not all ModificationApplyOperation subclasses provide useful
information in toString(). Make sure all of them do.

JIRA: YANGTOOLS-1176
Change-Id: Id93f2899dcedd8c289b093c1e126c09108eefb4c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 53a726edb6deb453584d289b8d6dec12cb0d18c8)

yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractNodeContainerModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MinMaxElementsValidation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationApplyOperation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ValueNodeModificationStrategy.java

index 2dc1edeca219e75bf12bb1f55ca5bcb22b9ea57b..342745b735999cb1266d5b9b07b22f7601d89d59 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.base.MoreObjects;
 import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.base.Verify;
 import java.util.Collection;
@@ -425,10 +424,6 @@ abstract class AbstractNodeContainerModificationStrategy<T extends WithStatus>
     }
 
     @Override
-    public final String toString() {
-        return addToStringAttributes(MoreObjects.toStringHelper(this)).toString();
-    }
-
     ToStringHelper addToStringAttributes(final ToStringHelper helper) {
         return helper.add("support", support).add("verifyChildren", verifyChildrenStructure);
     }
index 4bfed11edd9beeb00cb98495fa7a2f17a526d508..84e2d7d490d707d074844b609d873819502b6dff 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
@@ -153,4 +154,9 @@ final class ListModificationStrategy extends SchemaAwareApplyOperation<ListSchem
         // Unkeyed lists are always replaced
         node.write(value);
     }
+
+    @Override
+    ToStringHelper addToStringAttributes(final ToStringHelper helper) {
+        return helper.add("entry", entryStrategy);
+    }
 }
index 90ece03d585b877eb5d786b64403a1c6d124e3d3..8e1e91c5633060d19c12e420622351199ea91dc2 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
@@ -125,6 +126,11 @@ final class MinMaxElementsValidation<T extends DataSchemaNode & ElementCountCons
         delegate.recursivelyVerifyStructure(value);
     }
 
+    @Override
+    ToStringHelper addToStringAttributes(final ToStringHelper helper) {
+        return helper.add("min", minElements).add("max", maxElements).add("delegate", delegate);
+    }
+
     private void validateMinMaxElements(final ModificationPath path, final NormalizedNode<?, ?> value)
             throws DataValidationFailedException {
         final PathArgument id = value.getIdentifier();
index 60b83b17911bd6844e88ff42adf2899b526de2d0..9b402a64d79a5296ffdcfa2e0bf48327545d6065 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
@@ -118,4 +120,11 @@ abstract class ModificationApplyOperation implements StoreTreeNode<ModificationA
     public abstract Optional<ModificationApplyOperation> getChild(PathArgument child);
 
     abstract void recursivelyVerifyStructure(NormalizedNode<?, ?> value);
+
+    abstract ToStringHelper addToStringAttributes(ToStringHelper helper);
+
+    @Override
+    public final String toString() {
+        return addToStringAttributes(MoreObjects.toStringHelper(this)).toString();
+    }
 }
index 9eb8af3e91a1533fed7c23f88829e1147b568c38..0251d535ba3d4090f1eed4e4b02aaf8f960d811a 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
@@ -100,6 +101,11 @@ final class ValueNodeModificationStrategy<T extends DataSchemaNode, V extends No
         verifyWrittenValue(value);
     }
 
+    @Override
+    ToStringHelper addToStringAttributes(final ToStringHelper helper) {
+        return helper.add("value", nodeClass.getSimpleName());
+    }
+
     private void verifyWrittenValue(final NormalizedNode<?, ?> value) {
         checkArgument(nodeClass.isInstance(value), "Expected an instance of %s, have %s", nodeClass, value);
     }